Skip to content

fix(rapidocr): propagate num_threads to OpenVINO backend#3666

Open
KyleFearne wants to merge 1 commit into
docling-project:mainfrom
KyleFearne:fix/rapidocr-openvino-num-threads
Open

fix(rapidocr): propagate num_threads to OpenVINO backend#3666
KyleFearne wants to merge 1 commit into
docling-project:mainfrom
KyleFearne:fix/rapidocr-openvino-num-threads

Conversation

@KyleFearne

@KyleFearne KyleFearne commented Jun 19, 2026

Copy link
Copy Markdown

With backend="openvino", AcceleratorOptions.num_threads was ignored and eventually left unset. RapidOcrModel only populated EngineConfig.onnxruntime.intra_op_num_threads, never EngineConfig.openvino.*. OpenVINO then defaults to all physical cores per session, causing CPU oversubscription on wide multi-worker hosts with no docling-level control.

Map num_threads -> EngineConfig.openvino.inference_num_threads, mirroring the ONNXRuntime fix in #3062. Added a parametrized test that asserts the thread count reaches the engine in use for both backends.

Resolves #3665

RapidOcrModel only set EngineConfig.onnxruntime.intra_op_num_threads, so with
backend="openvino" the accelerator num_threads was dropped and OpenVINO defaulted
to all physical cores per session, causing CPU oversubscription on wide multi-worker
boxes with no docling-level control.

Map accelerator_options.num_threads to EngineConfig.openvino.inference_num_threads
as well, mirroring the ONNXRuntime fix in docling-project#3062.

Signed-off-by: Kyle Fearne <kyle.fearne@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

DCO Check Passed

Thanks @KyleFearne, all your commits are properly signed off. 🎉

@mergify

mergify Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

Your pull request matches the following merge protections and will not be merged until they are valid.

🟢 Enforce conventional commit

Wonderful, this rule succeeded.

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?(!)?:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RapidOCR OpenVINO backend ignores accelerator_options.num_threads

1 participant